package com.ponhu.ea2.service.facade;

import com.ponhu.ea2.common.basic.model.PagedResult;
import com.ponhu.ea2.dto.CloudTradeGoodsCheckDto;
import com.ponhu.ea2.dto.CloudTradeGoodsEditDto;
import com.ponhu.ea2.query.CloudTradeGoodsQuery;
import com.ponhu.ea2.vo.CloudTradeCheckResultVo;
import com.ponhu.ea2.vo.CloudTradeGoodsDetailV2VO;
import com.ponhu.ea2.vo.CloudTradeGoodsDetailVO;
import com.ponhu.ea2.vo.CloudTradeGoodsVO;

import java.util.List;

/**
 * 云商商品管理服务
 */
public interface CloudTradeGoodsManageService {

    /**
     * 分页查询云商商品列表
     * @param cloudTradeGoodsQuery
     * @return
     */
    public PagedResult<CloudTradeGoodsVO> getCloudTradeGoodsList(CloudTradeGoodsQuery cloudTradeGoodsQuery);

    /**
     * 根据云商商品ID查询商品详细信息
     * @param cloudTradeGoodsId
     * @return
     */
    public CloudTradeGoodsDetailVO getCloudTradeGoodsDetailById(Long cloudTradeGoodsId);

    /**
     * 根据云商商品ID查询商品详细信息
     * @param cloudTradeGoodsId
     * @return
     */
    public CloudTradeGoodsDetailV2VO getCloudTradeGoodsDetailByIdV2(Long cloudTradeGoodsId);

    /**
     * 根据云商渠道商品编码查询商品详细信息
     * @param channelGoodsCode
     * @return
     */
    @Deprecated
    public CloudTradeGoodsDetailVO getCloudTradeGoodsDetailByChannelGoodsCode(String channelGoodsCode);

    /**
     * 根据云商渠道商品编码查询商品详细信息
     * @param channelGoodsCode
     * @return
     */
    public CloudTradeGoodsDetailV2VO getCloudTradeGoodsDetailByChannelGoodsCodeV2(String channelGoodsCode);

    /**
     * 审核云商商品信息
     * @param checkDto
     */
    public boolean checkCloudTradeGoods(CloudTradeGoodsCheckDto checkDto);


    /**
     * 根据云商渠道商品编码下架商品
     * @param channelGoodsCode
     * @return
     */
    boolean downShelf(String channelGoodsCode);

    /**
     * 根据云商渠道商品编码上架商品
     * @param channelGoodsCode
     * @return
     */
    boolean upShelf(String channelGoodsCode);

    /**
     * 编辑云商商品
     * @param cloudTradeGoodsEditDto
     * @return
     */
    boolean editCloudTradeGoods(CloudTradeGoodsEditDto cloudTradeGoodsEditDto);
}
